[INFO] fetching crate enigma 0.0.2...
[INFO] checking enigma-0.0.2 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate enigma 0.0.2 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate enigma 0.0.2 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate enigma 0.0.2
[INFO] finished tweaking crates.io crate enigma 0.0.2
[INFO] tweaked toml for crates.io crate enigma 0.0.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 03637e4b2dabd17fc69ccd9fa42867716f68971301c6a83f14313fba1d6c7000
[INFO] running `Command { std: "docker" "start" "-a" "03637e4b2dabd17fc69ccd9fa42867716f68971301c6a83f14313fba1d6c7000", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "03637e4b2dabd17fc69ccd9fa42867716f68971301c6a83f14313fba1d6c7000", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03637e4b2dabd17fc69ccd9fa42867716f68971301c6a83f14313fba1d6c7000", kill_on_drop: false }`
[INFO] [stdout] 03637e4b2dabd17fc69ccd9fa42867716f68971301c6a83f14313fba1d6c7000
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 080d07dfd625b8a9b6107323ec4752a1022883a83613091c630ba65dced4cf99
[INFO] running `Command { std: "docker" "start" "-a" "080d07dfd625b8a9b6107323ec4752a1022883a83613091c630ba65dced4cf99", kill_on_drop: false }`
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking enigma v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/hashes/md2.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout]    |                                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout] 96 +             let n = min(in_len, 16 - self.cur_len);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/hashes/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use std::vec::Vec;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/hashes/md2.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout]    |                                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout] 96 +             let n = min(in_len, 16 - self.cur_len);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/hashes/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use std::vec::Vec;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hashes/mod.rs:91:41
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn perform_hash_test(hash: &mut HashFunction, test: &HashTestCase) {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn perform_hash_test(hash: &mut dyn HashFunction, test: &HashTestCase) {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/hashes/md4.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn set_input(&mut self, input: &[u8]) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_elem` found for struct `Vec<_, _>` in the current scope
[INFO] [stdout]   --> src/hashes/mod.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut result = Vec::from_elem(hash.get_output_length(), 0u8);
[INFO] [stdout]    |                               ^^^^^^^^^ function or associated item not found in `Vec<_, _>`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Vec<_, _>` consider using one of the following associated functions:
[INFO] [stdout]       Vec::<T>::new
[INFO] [stdout]       Vec::<T>::with_capacity
[INFO] [stdout]       Vec::<T>::from_raw_parts
[INFO] [stdout]       Vec::<T, A>::new_in
[INFO] [stdout]       and 2 others
[INFO] [stdout]   --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/alloc/src/vec/mod.rs:422:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `std::string::String` in the current scope
[INFO] [stdout]    --> src/hashes/mod.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |         assert!(result_str.as_slice() == test.output_str);
[INFO] [stdout]     |                            ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/hashes/md4.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn set_input(&mut self, input: &[u8]) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `enigma` (lib test) due to 3 previous errors; 4 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "080d07dfd625b8a9b6107323ec4752a1022883a83613091c630ba65dced4cf99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "080d07dfd625b8a9b6107323ec4752a1022883a83613091c630ba65dced4cf99", kill_on_drop: false }`
[INFO] [stdout] 080d07dfd625b8a9b6107323ec4752a1022883a83613091c630ba65dced4cf99
[INFO] checking enigma-0.0.2 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate enigma 0.0.2 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate enigma 0.0.2 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate enigma 0.0.2
[INFO] finished tweaking crates.io crate enigma 0.0.2
[INFO] tweaked toml for crates.io crate enigma 0.0.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a9130b80d1504f66b44fceb25678d7ec5539285bbd960a0f6d96fa4a557f604f
[INFO] running `Command { std: "docker" "start" "-a" "a9130b80d1504f66b44fceb25678d7ec5539285bbd960a0f6d96fa4a557f604f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a9130b80d1504f66b44fceb25678d7ec5539285bbd960a0f6d96fa4a557f604f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a9130b80d1504f66b44fceb25678d7ec5539285bbd960a0f6d96fa4a557f604f", kill_on_drop: false }`
[INFO] [stdout] a9130b80d1504f66b44fceb25678d7ec5539285bbd960a0f6d96fa4a557f604f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a5d3989c782cab9b8b816217af2d2a5955585b7ac2df9661559d93383cc6c1b9
[INFO] running `Command { std: "docker" "start" "-a" "a5d3989c782cab9b8b816217af2d2a5955585b7ac2df9661559d93383cc6c1b9", kill_on_drop: false }`
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking enigma v0.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |    for i in 0..16 {
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |    for round in 0..18 {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |        for i in 0..48 {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for i in 0..16 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/hashes/md2.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout]    |                                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout] 96 +             let n = min(in_len, 16 - self.cur_len);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 |             for i in 0..n {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hashes/md2.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |         for i in self.cur_len as usize..16 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hashes/md2.rs:130:18
[INFO] [stdout]     |
[INFO] [stdout] 130 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hashes/md2.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout] 139 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/hashes/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use std::vec::Vec;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/mod.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut output: Vec<u8> = (0..self.get_output_length()).map(|_| 0).collect();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |    for i in 0..16 {
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:39:17
[INFO] [stdout]    |
[INFO] [stdout] 39 |    for round in 0..18 {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |        for i in 0..48 {
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |     for i in 0..16 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/hashes/md2.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout]    |                                 ^                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -             let n = min(in_len, (16 - self.cur_len));
[INFO] [stdout] 96 +             let n = min(in_len, 16 - self.cur_len);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/md2.rs:97:22
[INFO] [stdout]    |
[INFO] [stdout] 97 |             for i in 0..n {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hashes/md2.rs:121:18
[INFO] [stdout]     |
[INFO] [stdout] 121 |         for i in self.cur_len as usize..16 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hashes/md2.rs:130:18
[INFO] [stdout]     |
[INFO] [stdout] 130 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hashes/md2.rs:139:18
[INFO] [stdout]     |
[INFO] [stdout] 139 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Vec` is imported redundantly
[INFO] [stdout]   --> src/hashes/mod.rs:52:13
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use std::vec::Vec;
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Vec` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hashes/mod.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut output: Vec<u8> = (0..self.get_output_length()).map(|_| 0).collect();
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hashes/mod.rs:91:41
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn perform_hash_test(hash: &mut HashFunction, test: &HashTestCase) {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn perform_hash_test(hash: &mut dyn HashFunction, test: &HashTestCase) {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/hashes/md4.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn set_input(&mut self, input: &[u8]) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no function or associated item named `from_elem` found for struct `Vec<_, _>` in the current scope
[INFO] [stdout]   --> src/hashes/mod.rs:96:31
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut result = Vec::from_elem(hash.get_output_length(), 0u8);
[INFO] [stdout]    |                               ^^^^^^^^^ function or associated item not found in `Vec<_, _>`
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Vec<_, _>` consider using one of the following associated functions:
[INFO] [stdout]       Vec::<T>::new
[INFO] [stdout]       Vec::<T>::with_capacity
[INFO] [stdout]       Vec::<T>::from_raw_parts
[INFO] [stdout]       Vec::<T, A>::new_in
[INFO] [stdout]       and 2 others
[INFO] [stdout]   --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/alloc/src/vec/mod.rs:422:5
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `std::string::String` in the current scope
[INFO] [stdout]    --> src/hashes/mod.rs:115:28
[INFO] [stdout]     |
[INFO] [stdout] 115 |         assert!(result_str.as_slice() == test.output_str);
[INFO] [stdout]     |                            ^^^^^^^^ method not found in `String`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/hashes/md4.rs:52:29
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn set_input(&mut self, input: &[u8]) {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `enigma` (lib test) due to 3 previous errors; 13 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a5d3989c782cab9b8b816217af2d2a5955585b7ac2df9661559d93383cc6c1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5d3989c782cab9b8b816217af2d2a5955585b7ac2df9661559d93383cc6c1b9", kill_on_drop: false }`
[INFO] [stdout] a5d3989c782cab9b8b816217af2d2a5955585b7ac2df9661559d93383cc6c1b9
